package org.example.petitionplatformsystem.utils;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

//创建一个数字到信访状态的映射
public class IntToStringUtil {
    public static List<String> getStatusStrings(List<Integer> status_number) {
        Map<Integer, String> numberToStatus = new HashMap<>();
        numberToStatus.put(1, "Submitted");
        numberToStatus.put(2, "PendingReview");
        numberToStatus.put(3, "Reviewed");
        numberToStatus.put(4, "PendingProcessing");
        numberToStatus.put(5, "Processed");
        // 使用一个新的列表保存替换后的结果
        List<String> status = new ArrayList<>();

        // 遍历数字列表并进行替换
        for (Integer num : status_number) {
            // 处理未知的数字，可以选择抛出异常或记录日志
            // 或者抛出异常
            // throw new IllegalArgumentException("Unknown status number: " + num);
            status.add(numberToStatus.getOrDefault(num, "UnKnownStatus"));
        }
        return status;
    }
    public static List<String> getEventTypeStrings(List<Integer> typeNumber) {
        Map<Integer, String> numberToType = new HashMap<>();
        numberToType.put(1, "OfflinePetition");
        numberToType.put(2, "OnlinePetition");
        numberToType.put(3, "PhonePetition");
        numberToType.put(4, "SMSSPetition");
        numberToType.put(5, "VideoPetition");

        // 使用一个新的列表保存替换后的结果
        List<String> type = new ArrayList<>();

        // 遍历数字列表并进行替换
        for (Integer num : typeNumber) {
            // 处理未知的数字，可以选择抛出异常或记录日志
            // 或者抛出异常
            type.add(numberToType.getOrDefault(num, "UnknownType"));
        }

        return type;
    }
}
